package cn.easier.activity.console.service;

import cn.easier.activity.web.entity.ActivityCouponCode;

import java.util.List;

/**
 * 券码service
 */
public interface ActivityCouponCodeService {

    /**
     * 创建券码
     *
     * @param activityCouponCode 券码信息
     * @return
     */
    public ActivityCouponCode save(ActivityCouponCode activityCouponCode);

    /**
     * 批量导入券码
     *
     * @param activityCouponCodeList 券码信息列表
     * @return
     */
    public List<ActivityCouponCode> saveList(List<ActivityCouponCode> activityCouponCodeList);

    /**
     * 获取指定券码
     *
     * @param id 券码信息Id
     * @return
     */
    public ActivityCouponCode findOne(Integer id);

    /**
     * 获取指定券码
     *
     * @param activityPrizeId 奖品id
     * @param available 是否有效
     * @return
     */
    public int countByAvailable(Integer activityPrizeId, Boolean available);

    /**
     * 获取指定券码
     *
     * @param activityPrizeId 奖品id
     * @return
     */
    public List<ActivityCouponCode> findList(Integer activityPrizeId);

    /**
     * 删除指定券码
     *
     * @param batch 批次
     * @param user 用户
     * @return
     */
    public int deleteByBatch(String batch, String user);

    /**
     * 删除指定券码
     *
     * @param id 券码id
     * @param user 用户
     * @return
     */
    public Boolean delete(Integer id, String user);

    public ActivityCouponCode findByOne(String user, Integer id);

    public Boolean deleteByAdmin(Integer id);
}
